As the resolution of color imaging systems increases, the amount of data that must be processed to display and communicate these images also increases. Typically, to reduce data storage requirements and to improve data transmission rates, color images are compressed using a number of either proprietary or non-proprietary compression algorithms.
Typically, color images are defined by RGB (red/green/blue) color components, and the RGB information is converted to luminance (gray-scale) and chrominance (color) components. The almost universal standard for luminance and chrominance conversion is that adopted by the NTSC (National Television Standards Committee) for the color television broadcast industry. In accordance with the NTSC standard, the RGB (red/green/blue) color components of the picture are encoded into a single luminance component Y and two chrominance components I and Q: EQU Y=0.30R+0.59G+0.11B EQU I=0.74(R-Y)-0.27(B-Y) EQU Q=0.48(R-Y)+0.41(B-Y)
The chrominance components are commonly also referred to as color differences. The RGB color components that form a YIQ-encoded color image are recovered by decoding luminance and chrominance signals: EQU R=0.62Q+0.96I+Y EQU B=1.70Q-1.10I+Y EQU G=(Y-0.30R-0.11B)/0.59
For NTSC-standard color broadcast communications, color image compression is concentrated on the chrominance information, because the eye is relatively insensitive to reductions in chrominance information. Thus, the standard 6 MHz color television broadcast bandwidth is divided:
Y=4.5 MHz PA1 I=1.5 MHz PA1 Q=0.5 MHz
Chrominance compression is accomplished by averaging or eliminating the chrominance information associated with neighboring pixels, thus reducing the amount of bandwidth required to represent the original chrominance information for a color image.
In digital color image processing, each RGB color component is represented by a color magnitude--the conventional 8 bit format provides 256 color magnitude values. Encoding the RGB data bytes into luminance and chrominance data yields corresponding luminance magnitude bytes (e.g., 8 bits providing 256 magnitude values) and signed chrominance or color difference bytes (e.g., 8 bits magnitude and 1 sign bit).
Digital color image processors typically range compress chrominance (color difference) data by applying a linear range compression function that reduces the number of magnitude bits by at least one to accommodate the sign bit. For the conventional 8 bit format, the 7-bit magnitude provides 128 possible chrominance magnitude values (for a total chrominance range of +/-128 or 256).
Two different linear range compression schemes are currently used. In one scheme, illustrated in FIG. 3a, the full range of possible chrominance magnitudes is identically compressed into the desired number of compressed chrominance magnitudes. For example, to range compress an 8-bit magnitude to 7-bits, each range compressed chrominance magnitude must represent 2 actual chrominance magnitudes. The disadvantage of this linear range compression function is that compression occurs across the full range of chrominance magnitudes. However, the eye is much more sensitive to a loss of color fidelity in the region of subtle color shifts (i.e., small chrominance magnitudes), than in the region of saturated colors (i.e., large chrominance magnitudes).
To avoid the loss of color fidelity for subtle color shifts, a second linear range compression scheme, illustrated in FIG. 3b, has been used. In this scheme, chrominance magnitudes are uncompressed, and actual chrominance magnitudes that exceed the range compressed maximum magnitude are all assigned that maximum value. Thus, for an 8-bit format, the relationship between actual and compressed chrominance magnitudes is one-to-one up to the 7-bit maximum of 128, with all actual chrominance magnitudes from 128 to 256 being assigned to the maximum value. This linear range compression scheme preserves color fidelity in the range of subtle color shifts (small chrominance magnitudes), but is unable to maintain color fidelity in the saturated region.
In addition to chrominance range compression, both luminance and chrominance data are typically further compressed using conventional compression algorithms (which may be the same or different for luminance and chrominance). These conventional algorithms are either lossless (information preserving) or lossy (non-information preserving). Higher compression ratios are generally obtained using the lossy compression algorithms (such as Discrete Cosine Transform), which sacrifice a measure of accuracy in the original color image to improve the compression ratio. These lossy compression algorithms reduce the quantity of color image data required to be stored and/or transmitted from 2 to 1 to upwards of 30 to 1.
Lossy compression schemes with high compression ratios result in visible image degradation. When compressing gray-scale (monochrome) images, the image degradation appears as a loss of detail (blurring) and noise, both of which are often acceptable in view of the trade-off between image accuracy and compression ratios. However, when compressing color images, image degradation also extends into the color domain. Such degradation is particularly evident because it is nonuniform, causing the decompressed color images to appear mottled even when compressed at moderate compression ratios. For a given compression ratio, color image degradation resulting from lossy luminance compression is significantly greater than color image degradation from lossy chrominance compression, because the greatest amount of picture information is in luminance.
While the color information lost from lossy luminance compression can be corrected, schemes to recover all luminance information are computationally costly. These luminance correction schemes typically require specialized hardware (for example, a digital signal processor) to achieve adequate throughput.
Color image degradation also results from color shifts (changes in hue) caused by mathematical round-off errors and other image processing functions. Round-off errors can result from any of a number of color image processing operations, including RGB-to-luminance conversion, lossy luminance compression, chrominance computation, and chrominance compression. Round-off errors typically occur consistently throughout an entire image, resulting in an overall shift in the hue of the color image. This shift in hue is particularly apparent on objects that were colorless prior to compression.
Accordingly, a need exists for a color image processing method that uses a chrominance range compression function that accurately preserves small color difference magnitudes that result in subtle color shifts, while also preserving some color difference differentiation in the regions of saturated colors. A satisfactory color image processing method would include compensation for both lossy luminance compression and overall color shift (change in hue) such as caused by mathematical round-off errors during image processing.